let fs = require('fs');
let path = require('path');
let express = require('express');
const { url } = require('inspector');

let app = express();

// 处理静态文件
app.use(express.static(path.join(__dirname ,  './public')));
// 处理 post 上传数据
app.use(express.json());

// 返回首页
app.get('/' , (req,res) => {

    res.sendFile(path.join(__dirname , './public/index.html'));
    // res.end();  // end里面只能放字符串
    // res.json(); // json里面放对象
    // sendFile(); // 写文件路径就可以了
});

// 搜索接口
app.get('/search/keywords/:keywords' , (req,res) => {

    // req.params : 获取动态路由中的数据的

    // 接收上传的数据
    let {keywords} = req.params;
    console.log(keywords);
    // 获取所有的数据
    let allData = JSON.parse(fs.readFileSync(path.join(__dirname, './data.json') , 'utf-8'));
    // 在所有的数据中, 过滤出包含关键字的数据

    // 数据是字符串时,可以直接判断item中是否包含关键字
    // let result = allData.filter(item => item.includes(keywords));

    // 数据是对象了, 可以搜索名字, 可以搜索销量, 可以搜索价格
    let result = allData.filter(item => item.name.includes(keywords) || item.count.includes(keywords) || item.price.includes(keywords));

    // 返回数据的
    res.json(result);
});

// 获取所有商品接口
app.get('/goods' , (req,res) => {
    res.sendFile(path.join(__dirname , './data.json'));
});

app.listen(8080);